import { fileURLToPath, URL } from 'node:url'

import { defineConfig } from 'vite'
import vue from '@vitejs/plugin-vue'
import vueJsx from '@vitejs/plugin-vue-jsx'
// import vueDevTools from 'vite-plugin-vue-devtools' //去除掉页面的vue表示内容
import legacy from "@vitejs/plugin-legacy"
import AutoImport from 'unplugin-auto-import/vite'
import Components from 'unplugin-vue-components/vite'
import { ElementPlusResolver } from 'unplugin-vue-components/resolvers'
// import postcssPxtorem from "postcss-pxtorem"

// https://vite.dev/config/
export default defineConfig({
  plugins: [
    vue(),
    vueJsx(),
    // vueDevTools(),
    legacy({
      targets: ["ie>=11"],
      additionalLegacyPolyfills: ["regenerator-runtime/runtime"],
    }),
    AutoImport({
      resolvers: [ElementPlusResolver()],
    }),
    Components({
      resolvers: [ElementPlusResolver()],
    })
  ],
  // css: {
  //   postcss:{
  //     plugins:[
  //       postcssPxtorem({
  //         rootValue: 75, // // 设计稿的宽度除以10，例如设计稿为 750px
  //         unitPrecision: 5, // 转换后的rem小数点位数
  //         propList: ['*'], // 需要进行转换的属性，'*'表示所有
  //         selectorBlackList: [], // 不进行转换的选择器
  //         replace: true, // 是否直接替换掉px单位
  //         mediaQuery: false, // 是否在媒体查询的css代码中也进行转换
  //         minPixelValue: 3, // 设置要替换的最小像素值
  //         // exclude: /node_modules/i, // 排除node_modules文件夹下的文件
  //       })
  //     ]
  //   }
  // },
  base:'./',
  server: {
    proxy: {
      '/api': {
        target: '', // 目标服务器地址
        changeOrigin: true,  
        secure:false,            // 是否改变源
        rewrite: (path) => path.replace(/^\/api/, '') // 重写路径
      }
    }
  },
  resolve: {
    alias: {
      '@': fileURLToPath(new URL('./src', import.meta.url))
    },
  },
  build: {  
    rollupOptions: {  
      output: {  
        chunkFileNames: 'static/js/[name]-[hash].js',  
        entryFileNames: 'static/js/[name]-[hash].js',  
        assetFileNames: 'static/assets/[ext]/[name]-[hash].[ext]',  
      },  
    },  
  },  
})
